The use of autocorrelation to detect an FSK signal is well known. In autocorrelation, the input signal is delayed by a predetermined delay time to produce a delayed input signal. The delayed input signal is then multiplied by the input signal and the resulting product is low pass filtered to provide an output signal.
An output signal exceeding a first value would then be, for example, considered to represent a mark signal, an output signal less than a second value would be considered to represent a space signal, and an output signal between these two values would be ignored or treated as undefined. For convenience, the second value is preferably the negative of the first value so that the autocorrelated mark and space signals are symmetrical about zero. This provides for convenience in detection in that the same threshold value is used to distinguish a valid signal (mark or space) from an invalid or undefined signal. If the signal is valid (above the threshold) then the sign of the signal identifies the signal as a mark signal or a space signal. The delay time is preferably selected so as to maximize the difference between the output signal for the mark signal frequency and the output signal for the space signal frequency. Maximizing this difference minimizes the likelihood that a mark will be mistaken for a space, and vice versa.
In digital systems the input signal is sampled and converted at a sampling frequency to provide a sampled signal. The sampled signal is delayed by "shifting" the signal through a memory, generally by updating a pointer at the sampling frequency, and the delayed (shifted) sampled signal and the current sampled signal are multiplied in a microprocessor to provide an autocorrelated sampled signal. This autocorrelated sampled signal is then digitally low pass filtered. The microprocessor then determines whether the filtered signal represents a mark or a space.
The sampled signal is shifted through the memory at the sampling frequency so the delay time provided by the memory is an integer multiple of the period of the sampling frequency. Therefore, in order to produce the desired delay time, the sampling frequency is adjusted so that an integer multiple of the period of the sampling frequency is equal to the desired delay time.
However, in systems which use a fixed sampling frequency the delay times that are available are integer multiples of the period of this fixed frequency. These integer multiples typically provide delay times which produce an acceptable, but not optimal, difference between the autocorrelated mark signal and the autocorrelated space signal.
Therefore, there is a need for a method and an apparatus for producing an optimal delay time for autocorrelating an FSK signal when using a fixed sampling frequency so as to maximize the difference between the autocorrelated mark signal and the autocorrelated space signal.
A typical modem will accommodate data tranfers using FSK, phase shift keying (PSK), and phase and amplitude modulation (PAM). In order to reduce the effects of noise that may be present on a telephone line to which the modem is connected the modem will typically employ a bandpass filter, such as a V.22bis bandpass filter. This filter is designed to sharply attenuate signals which are outside the nominal bandwidth of the PSK or PAM signal. Different carrier frequencies are used for FSK transmission than for PSK/PAM transmission. This V.22bis filter is designed for PSK and PAM signals, and not for FSK signals, so the mark frequency signal and space frequency signal are not attenuated by the same amount. This distorts the autocorrelation function and reduces the difference between the filtered autocorrelated output signal for the mark signal and the filtered autocorrelated output signal for the space signal. The distortion and the reduction in the difference tend to increase the likelihood of an error in the recovered data.
Therefore, there is a need for a method and an apparatus for autocorrelating an FSK signal in a manner which maximizes the difference between the autocorrelated mark signal and the autocorrelated space signal, and makes the autocorrelated signals symmetrical about zero, even when the incoming amplitudes of these two signals are caused to be different by an input filter.